// MainFrm.h : interface of the CMainFrame class
//


#pragma once
#include "WorkSpaceBar.h"
#include "PropertyBar.h"
#include "OutputBar.h"
#include "TaskPane.h"
#include "ToolBox.h"
#include "HelpBar.h"

class CMainFrame : public CBCGPMDIFrameWnd
{
	DECLARE_DYNAMIC(CMainFrame)
public:
	CMainFrame();

// Attributes
public:

// Operations
public:
	static CView* GetActiveViewWnd();
	static void SendActiveViewMessage(UINT msg, WPARAM wp, LPARAM lp);
// Overrides
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members
	CBCGPMenuBar			m_wndMenuBar;
	CBCGPStatusBar			m_wndStatusBar;
	CBCGPToolBar			m_wndToolBar;
	CWorkSpaceBar			m_wndWorkSpace;
	CPropertyBar			m_wndPropertyBar;
	COutputBar				m_wndOutput;
	CTaskPane				m_wndTaskPane;
	CHelpBar				m_wndHelpBar;
	CToolBoxBarEx			m_wndToolBoxBar;
	BOOL					m_bIsToolBoxEx;

	CBCGPToolBarImages		m_UserImages;
// Generated message map functions
protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnViewCustomize();
	afx_msg LRESULT OnToolbarReset(WPARAM,LPARAM);
	void OnToolsViewUserToolbar (UINT id);
	void OnUpdateToolsViewUserToolbar (CCmdUI* pCmdUI);
	afx_msg LRESULT OnHelpCustomizeToolbars(WPARAM wp, LPARAM lp);
	afx_msg void OnWindowManager();
	afx_msg void OnAppLook(UINT id);
	afx_msg void OnUpdateAppLook(CCmdUI* pCmdUI);
	afx_msg void OnClose();
	afx_msg void OnBrowser();
	afx_msg void OnToolBox();
	afx_msg void OnFileExport(UINT nID);
	afx_msg void OnFileImport(UINT nID);
	afx_msg LRESULT OnPropertyAction(WPARAM wp, LPARAM lp);
	afx_msg LRESULT OnHelpCommand(WPARAM wp, LPARAM lp);
	DECLARE_MESSAGE_MAP()


	UINT	m_nAppLook;
public:
//	virtual BOOL CreateClient(LPCREATESTRUCT lpCreateStruct, CMenu* pWindowMenu);
protected:
	virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
};

